package jsyf.oa.entity.capital;

import com.alibaba.fastjson.JSONObject;

import javax.persistence.Entity;
import javax.persistence.Table;

import jsyf.oa.ientity.BaseEntity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * Created by houtailei on 2018/2/25.
 */
@Entity
@Table(name = "T_CPT_BANK_CARD", schema = "oa", catalog = "")
public class BankCardEntity extends BaseEntity  implements Serializable{
    private String id;
    private String bankName;
    private String bankCard;
    private BigDecimal initMoney;
    private String accountApplication;
    private Integer useStatus;
    private String fkCompanyId;
    private String createUserId;
    private Date createTime;
    private String updateUserId;
    private Date updateTime;

    private List<FlowEntity> flowList;

    @Override
    public String getId() {
        return id;
    }

    @Override
    public void setId(String id) {
        this.id = id;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getBankCard() {
        return bankCard;
    }

    public void setBankCard(String bankCard) {
        this.bankCard = bankCard;
    }

    public BigDecimal getInitMoney() {
        return initMoney;
    }

    public void setInitMoney(BigDecimal initMoney) {
        this.initMoney = initMoney;
    }

    public String getAccountApplication() {
        return accountApplication;
    }

    public void setAccountApplication(String accountApplication) {
        this.accountApplication = accountApplication;
    }

    public Integer getUseStatus() {
        return useStatus;
    }

    public void setUseStatus(Integer useStatus) {
        this.useStatus = useStatus;
    }

    public String getFkCompanyId() {
        return fkCompanyId;
    }

    public void setFkCompanyId(String fkCompanyId) {
        this.fkCompanyId = fkCompanyId;
    }

    public String getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(String createUserId) {
        this.createUserId = createUserId;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdateUserId() {
        return updateUserId;
    }

    public void setUpdateUserId(String updateUserId) {
        this.updateUserId = updateUserId;
    }

    @Override
    public Date getUpdateTime() {
        return updateTime;
    }

    @Override
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public JSONObject getJSONObject() {
        JSONObject obj = new JSONObject();
        obj.put("ID", getId());
        obj.put("BANK_NAME", getBankName());
        obj.put("BANK_CARD", getBankCard());
        obj.put("INIT_MONEY", getInitMoney());
        obj.put("ACCOUNT_APPLICATION", getAccountApplication());
        obj.put("USE_STATUS", getUseStatus());
        obj.put("FK_COMPANY_ID", getFkCompanyId());
        obj.put("CREATE_USER_ID", getCreateUserId());
        obj.put("CREATE_TIME", getCreateTime());
        obj.put("UPDATE_USER_ID", getUpdateUserId());
        obj.put("UPDATE_TIME", getUpdateTime());
        return obj;
    }

    @Override
    public String getTableName() {
        return "T_CPT_BANK_CARD";
    }

    @Override
    public JSONObject getJSONColumns() {
        JSONObject obj = new JSONObject();
        obj.put("ID","id");
        obj.put("BANK_NAME", "bankName");
        obj.put("BANK_CARD", "bankCard");
        obj.put("INIT_MONEY", "initMoney");
        obj.put("ACCOUNT_APPLICATION", "accountApplication");
        obj.put("USE_STATUS", "useStatus");
        obj.put("FK_COMPANY_ID", "fkCompanyId");
        obj.put("CREATE_USER_ID", "createUserId");
        obj.put("CREATE_TIME", "createTime");
        obj.put("UPDATE_USER_ID", "updateUserId");
        obj.put("UPDATE_TIME", "updateTime");
        return obj;
    }

    public List<FlowEntity> getFlowList() {
        return flowList;
    }

    public void setFlowList(List<FlowEntity> flowList) {
        this.flowList = flowList;
    }
}
